<?php
 Session_Start () ;
 If (!$_SESSION ["repertoire_config"]) { Header ("Location: ../../") ; }
 Include ($_SESSION ["repertoire_config"]."/garennes.cfg") ;
 Include ($_SESSION ["repertoire_config"]."/init.php") ;
 Include ($_SESSION ["repertoire_config"]."/module_absences.cfg") ;
 Include ($_SESSION ["repertoire_config"]."/module_absences.php") ;
 Include ("../include/config.inc") ;
 Include ("../include/absences.cfg") ;
 verif_droits ($droit_courant, $_SESSION ["code"]) ;
 
 $id_eleve = var_courante ("id_eleve", 0, 0) ;
 $requete = var_courante ("requete", 0, null) ;
 $date_demande = var_courante ("date_demande", 0, null) ;
 $creation = var_courante ("creation", 0, 0) ;
 $date1 = var_courante ("date1", 0, 0) ;
 $date2 = var_courante ("date2", 0, 0) ;
 $semaine = var_courante ("semaine", 0, 0) ;
 $lettre = var_courante ("lettre", 0, "A") ;
 $menu = var_courante ("menu", 0, 1) ;
 $retour = var_courante ("retour", 0, "") ;
 $id_classe = var_courante ("id_classe", 0, 0) ;
 $millesime = millesime (0) ;
 
 // Recherche de l'eleve
 $resultats = SQL_commande ("SELECT * FROM eleves WHERE id_eleve='".$id_eleve."' LIMIT 1", $id_sql) ;
 $ligne = SQL_tableau_associatif ($resultats, "") ;
 
 // Verifie la quarantaine
 If (courrier_quarantaine ($id_eleve, $ligne ["repere1"], $ligne ["repere2"])) { Header ("location: ./abs_quarantaine.php?id_eleve=".$id_eleve) ; Exit ; }
 
 If (IsSet ($requete))
  {
   If ($requete == "VaLiDeR")
    {
     $repere1 = var_courante ("repere1", 0, 0) ;
     $repere2 = var_courante ("repere2", 0, 0) ;
     $programme = var_courante ("id_eleve", 0, 0) ;
     $id_abs_publipostage = var_courante ("id_abs_publipostage", 0, 0) ;
     $formulaire = var_courante ("formulaire", 0, 0) ;
     If ($creation == 0)
      {
       // Mise a jour publipostage
       $requete = "UPDATE abs_publipostage SET lettre='".$lettre."',date_demande='".$date_demande."',date_envoi='0000-00-00',programme='".$programme."' " ;
       If ($id_abs_publipostage > 0) { $requete .= "WHERE id_abs_publipostage='".$id_abs_publipostage."' " ; }
       Else { $requete .= "WHERE eleve='".$id_eleve."' AND repere1='".$repere1."' AND repere2='".$repere2."' AND envoi='0' " ; }
       $requete .= "LIMIT 1" ;
      }
     Else
      {
       // Nouveau publipostage
       $requete = "INSERT INTO abs_publipostage (id_abs_publipostage,eleve,repere1,repere2,lettre,programme,date_demande,date_envoi,envoi)
                   VALUES ('','".$id_eleve."','".$repere1."','".$repere2."','".$lettre."','".$programme."','".$date_demande."','0000-00-00','0')" ;
      }
     $ok = SQL_commande ($requete, $id_sql) ;
     
     // Traitement des champs si existent
     // Recherche de l'id
     $requete2 = "SELECT id_abs_publipostage FROM abs_publipostage WHERE eleve='".$id_eleve."' AND repere1='".$repere1."' AND repere2='".$repere2."' AND envoi='0' LIMIT 1" ;
     $id_abs = SQL_commande ($requete2, $id_sql) ;
     $c = SQL_ligne_suivante ($id_abs) ;
     // Efface les champs deja presents
     $ok = SQL_commande ("DELETE FROM abs_publi_champs WHERE id_abs_publipostage='".$c [0]."'", $id_sql) ;
     // Ecrit les champs si doient exister
     If ($formulaire > 0)
      {
       $champs = SQL_commande ("SELECT f.nom,f.champ,f.type_saisie FROM abs_formulaires f,abs_modeles m WHERE f.id_type_formulaire=m.formulaire AND m.id_abs_modele='".$lettre."'", $id_sql) ;
       $requete = "INSERT INTO abs_publi_champs (id_abs_publi_champ,id_abs_publipostage,eleve,repere1,repere2,nom,valeur) VALUES " ;
       $debut = "('','".$c [0]."','".$id_eleve."','".$repere1."','".$repere2."'" ;
       For ($i = 0 ; $i < SQL_nbr_lignes ($champs) ; $i++)
        {
	 $c = SQL_tableau_associatif ($champs, "") ;
	 Switch ((integer)$c ["type_saisie"])
          {
	   // Texte
	   Case 1 : //$valeur = "\$".$c ["nom"]."_".$lettre ; Eval ("\$valeur=\"$valeur\";") ;
                    $valeur = var_courante ($c ["nom"]."_".$lettre, 0, 0) ;
	            Break ;
           // Date
           Case 2 : //$valeur1 = "\$".$c ["nom"]."_jour_".$lettre ; Eval ("\$valeur1=\"$valeur1\";") ;
	            //$valeur2 = "\$".$c ["nom"]."_mois_".$lettre ; Eval ("\$valeur2=\"$valeur2\";") ;
		    //$valeur3 = "\$".$c ["nom"]."_annee_".$lettre ; Eval ("\$valeur3=\"$valeur3\";") ;
                    $valeur1 = var_courante ($c ["nom"]."_jour_".$lettre, 0, 0) ;
	            $valeur2 = var_courante ($c ["nom"]."_mois_".$lettre, 0, 0) ;
		    $valeur3 = var_courante ($c ["nom"]."_annee_".$lettre, 0, 0) ;
		    $valeur = $valeur3."-".$valeur2."-".$valeur1 ;
	            Break ;
           // Heure
           Case 3 : //$valeur1 = "\$".$c ["nom"]."_heure_".$lettre ; Eval ("\$valeur1=\"$valeur1\";") ;
	            //$valeur2 = "\$".$c ["nom"]."_minute_".$lettre ; Eval ("\$valeur2=\"$valeur2\";") ;
                    $valeur1 = var_courante ($c ["nom"]."_heure_".$lettre, 0, 0) ;
	            $valeur2 = var_courante ($c ["nom"]."_minute_".$lettre, 0, 0) ;
		    $valeur = $valeur1."H".$valeur2 ;
	            Break ;
	  }
         If ($i > 0) { $requete .= "," ; }
	 $requete .= $debut.",'".$c ["champ"]."','".$valeur."') " ;
	}
       $ok = SQL_commande ($requete, $id_sql) ;
      }
     //echo $requete ;
     Echo "<HTML><BODY><SCRIPT> window.open(\"./module_absence.php?menu=".$menu."&retour=".$retour."&id_eleve=".$id_eleve."&id_classe=".$id_classe."&date1=".$date1."&date2=".$date2."&semaine=".$semaine."\",\"travail_affichage\") ; window.close() </SCRIPT></BODY></HTML>" ;
     Exit ;
    }
   ElseIf ($requete == "SuPPrIMeR")
    {
     // Supprimer le publipostage
     $ok = SQL_commande ("DELETE FROM abs_publipostage WHERE id_abs_publipostage='".$id_abs_publipostage."' LIMIT 1", $id_sql) ;
     // Supprimer les champs supplementaires (si existe)
     $ok = SQL_commande ("DELETE FROM abs_publi_champs WHERE id_abs_publipostage='".$id_abs_publipostage."'", $id_sql) ;
     Echo "<HTML><BODY><SCRIPT> window.open(\"./module_absence.php?menu=".$menu."&retour=".$retour."&id_eleve=".$id_eleve."&id_classe=".$id_classe."&date1=".$date1."&date2=".$date2."&semaine=".$semaine."\",\"travail_affichage\") ; window.close() </SCRIPT></BODY></HTML>" ;
    }
  }
 
 $resultats = SQL_commande ("SELECT * FROM menus WHERE numero='".$droit_courant."' AND ordre='0'", $id_sql) ;
 $l = SQL_tableau_associatif ($resultats, "") ; 
 
 Echo "<HTML><HEAD>" ;
 entete_html ("Garennes - Module absences - Publipostage", "", 1) ;
 Echo styles ("none", "none", "none", $l ["lien"], "none") ;
 $f = "" ;
 $s0 = "<SCRIPT>
 function getElement(e,f)
 {
 if (document.layers)
  {
   f=(f)?f:self
   if (f.document.layers[e]) { return f.document.layers[e] }
   for(W=0;i<f.document.layers.length;W++) { return(getElement(e,fdocument.layers[W])) }
  }
 if(document.all) { return document.all[e] }
 return document.getElementById(e)
} " ;
 $s1 = "function cache_tout() {\n" ;
 $s2 = "function visualisation_option() {\n" ;
 $aff = "</HEAD>" ;
 
 $aff .= "<BODY BACKGROUND=\"../images/fond.png\" TEXT=\"#000000\">" ;
 $aff .= "<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">" ;
 $aff .= "<TR>" ;
 $aff .= "<TD><A HREF=\"./abs_quarantaine.php?creation=".$creation."&date_demande=".$date_demande."&id_eleve=".$id_eleve."\"><IMG SRC=\"../images/absences/courrier_quarantaine.png\" BORDER=\"0\" TITLE=\"Mise en quarantaine du publipostage\"></A></TD>" ;
 $aff .= "<TD WIDTH=\"100%\" ALIGN=\"CENTER\">Publipostage&nbsp;-&nbsp;S&eacute;lection&nbsp;-&nbsp;&Eacute;l&egrave;ve&nbsp;<FONT COLOR=\"#0000FF\">".$ligne ["nom"]."&nbsp;<I>".prenom_eleve ($ligne ["prenoms"])."</I></FONT></TD>" ;
 $aff .= "<TD><A onClick=\"javascript:window.close()\" BORDER=\"0\"><IMG SRC=\"../../images/quitter.png\" BORDER=\"0\" TITLE=\"Fermer la fen&ecirc;tre\"></A></TD>" ;
 $aff .= "</TR>" ;
 $aff .= "</TABLE>" ;
 
 // Recherche du publipostage si existe
 $lettre = courrier_lettre ($id_eleve, $ligne ["repere1"], $ligne ["repere2"], 0) ;
 If ($lettre [0] > 0) { $creation = 0 ; Include ("./abs_courrier.js") ; } Else { $creation = 1 ; }
 
 // Recherche des lettres possibles
 $lettres_possibles = SQL_commande ("SELECT id_abs_modele,numero,description,formulaire FROM abs_modeles ORDER BY numero", $id_sql) ;
 
 $aff .= "<FORM ACTION=\"".$_SERVER ["PHP_SELF"]."\" NAME=\"abs_courrier\" METHOD=\"POST\">\n" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"creation\" VALUE=\"".$creation."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"id_abs_publipostage\" VALUE=\"".$lettre [0]."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"date1\" VALUE=\"".$date1."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"date2\" VALUE=\"".$date2."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"semaine\" VALUE=\"".$semaine."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"menu\" VALUE=\"".$menu."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"retour\" VALUE=\"".$retour."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"id_eleve\" VALUE=\"".$id_eleve."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"repere1\" VALUE=\"".$ligne ["repere1"]."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"repere2\" VALUE=\"".$ligne ["repere2"]."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"id_classe\" VALUE=\"".$id_classe."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"date_demande\" VALUE=\"".$date_demande."\">" ;
 $aff .= "<INPUT TYPE=\"HIDDEN\" NAME=\"programme\" VALUE=\"0\">" ;
 $aff .= "<BR>" ;
 $aff .= "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" WIDTH=\"100%\">" ;
 $aff .= "<TR>" ;
 $aff .= "<TD COLSPAN=\"4\" ALIGN=\"CENTER\">Mod&egrave;le&nbsp;:&nbsp;<SELECT NAME=\"lettre\">" ;
 For ($i = 0 ; $i < SQL_nbr_lignes ($lettres_possibles) ; $i++)
  {
   $lp = SQL_ligne_suivante ($lettres_possibles) ;
   $aff .= "<OPTION VALUE=\"".$lp [0]."\"" ;
   If ($lettre [1] == $lp [0]) { $aff .= " SELECTED" ; }
   $aff .= ">".$lp [1]."-".$lp [2]."</OPTION>" ;
   If ($lp [3]  > 0)
    {
     // Formulaire possible : a construire
     $formulaire = SQL_commande ("SELECT t.nom AS nom_formulaire,f.nom,f.intitule,f.type_saisie,f.taille_saisie,f.champ
                                    FROM abs_types_formulaire t, abs_formulaires f
                                   WHERE f.id_type_formulaire=t.id_abs_type_formulaire
				     AND f.id_type_formulaire='".$lp [3]."'
                                   ORDER BY f.numero", $id_sql) ;
     $nombre = SQL_nbr_lignes ($formulaire) ;
     $s1 .= "getElement(\"demande_".$i."\").style.display = 'none'\n" ;
     If ($i > 0) { $s2 .= " else " ; }
     $s2 .= "if (document.abs_courrier.lettre.value==".$lp [0].") { if (document.abs_courrier.formulaire.value!=".$lp [0].") { cache_tout() ; getElement('demande_".$i."').style.display = 'block'; document.abs_courrier.formulaire.value=".$lp [0]." ; } }\n" ;
     $f .= "<FIELDSET ID=\"demande_".$i."\" STYLE=\"".$style_formulaire."\">" ;
     For ($j = 0 ; $j < $nombre ; $j++)
      {
       $fm = SQL_tableau_associatif ($formulaire, "") ;
       If ($j == 0) { $f .= "<LEGEND>Formulaire de saisie pour : ".$fm ["nom_formulaire"]."</LEGEND><TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\">" ; }
       
       $f .= "<TR><TD ALIGN=\"RIGHT\">".$fm ["intitule"]."&nbsp;:&nbsp;</TD><TD ALIGN=\"LEFT\">" ;
       //$f .= "&nbsp;<B>".$fm ["intitule"]."</B>&nbsp;:&nbsp;" ;
       If (($lettre [1] > 0) And ($lettre [1] == $lp [0]))
        {
	 // Recherche des valeurs par defaut
	 $val = SQL_commande ("SELECT valeur FROM abs_publi_champs WHERE id_abs_publipostage='".$lettre [0]."' AND nom='".$fm ["champ"]."' LIMIT 1", $id_sql) ;
	 $v = SQL_ligne_suivante ($val) ;
	 $valeur = $v [0] ;
        }
       Else { $valeur = "" ; }
       Switch ((integer)$fm ["type_saisie"])
        {
	 // Texte
	 Case 1 : $f .= "<INPUT TYPE=\"TEXT\" NAME=\"".$fm ["nom"]."_".$lp [0]."\" SIZE=\"20\" MAXLENGTH=\"".$fm ["taille_saisie"]."\" VALUE=\"".$valeur."\">" ;
	          Break ;
         // Date
         Case 2 : $f .= "<SELECT NAME=\"".$fm ["nom"]."_jour_".$lp [0]."\">" ;
	          If ($valeur == "") { $h = Date ("d") ; } Else { $h = SubStr ($valeur, 8, 2) ; }
	          For ($k = 1 ; $k < 32 ; $k++)
	           {
	            $f .= "<OPTION VALUE=\"" ; If ($k < 10) { $f .= "0" ; }
		    $f .= $k."\"" ;
		    If ($k == $h) { $f .= " SELECTED" ; }
		    $f .= ">".$k."</OPTION>" ;
                   }
                  $f .= "</SELECT>&nbsp;<SELECT NAME=\"".$fm ["nom"]."_mois_".$lp [0]."\">" ;
		  If ($valeur == "") { $h = Date ("m") ; } Else { $h = SubStr ($valeur, 5, 2) ; }
	          For ($k = 1 ; $k < 13 ; $k++)
	           {
	            $f .= "<OPTION VALUE=\"" ; If ($k < 10) { $f .= "0" ; }
		    $f .= $k."\"" ;
		    If ($k == $h) { $f .= " SELECTED" ; }
		    $f .= ">".$nom_mois [$k]."</OPTION>" ;
                   }
                  $f .= "</SELECT>&nbsp;<SELECT NAME=\"".$fm ["nom"]."_annee_".$lp [0]."\">" ;
		  If ($valeur == "") { $h = Date ("Y") ; } Else { $h = SubStr ($valeur, 0, 4) ; }
		  For ($k = Date ("Y")-1 ; $k < Date ("Y")+2 ; $k++)
	           {
	            $f .= "<OPTION VALUE=\"" ; If ($k < 10) { $f .= "0" ; }
		    $f .= $k."\"" ;
		    If ($k == $h) { $f .= " SELECTED" ; }
		    $f .= ">".$k."</OPTION>" ;
                   }
                  $f .= "</SELECT>" ;
	          Break ;
         // Heure
         Case 3 : $f .= "<SELECT NAME=\"".$fm ["nom"]."_heure_".$lp [0]."\">" ;
	          If ($valeur == "") { $h = Date ("H") ; } Else { $h = SubStr ($valeur, 0, 2) ; }
	          For ($k = 1 ; $k < 25 ; $k++)
	           {
	            $f .= "<OPTION VALUE=\"" ; If ($k < 10) { $f .= "0" ; }
		    $f .= $k."\"" ;
		    If ($k == $h) { $f .= " SELECTED" ; }
		    $f .= ">".$k."</OPTION>" ;
                   }
                  $f .= "</SELECT>&nbsp;H&nbsp;<SELECT NAME=\"".$fm ["nom"]."_minute_".$lp [0]."\">" ;
		  If ($valeur == "") { $h = Date ("i") ; } Else { $h = SubStr ($valeur, 3, 2) ; }
	          For ($k = 0 ; $k < 60 ; $k++)
	           {
	            $f .= "<OPTION VALUE=\"" ; If ($k < 10) { $f .= "0" ; }
		    $f .= $k."\"" ;
		    If ($k == $h) { $f .= " SELECTED" ; }
		    $f .= ">".$k."</OPTION>" ;
                   }
                  $f .= "</SELECT>" ;
	          Break ;
	}
       $f .= "</TD></TR>" ;
       // .= "<BR>" ;
      }
     $f .= "</TABLE></FIELDSET>\n" ;
    }
   Else
    {
     // Aucun formulaire
     $s1 .= "getElement(\"pas_demande\").style.display = 'none'\n" ;
     If ($i > 0) { $s2 .= " else " ; }
     $s2 .= "if (document.abs_courrier.lettre.value==".$lp [0].") { if (document.abs_courrier.formulaire.value!=".$lp [0].") { cache_tout() ; getElement('pas_demande').style.display = 'block'; document.abs_courrier.formulaire.value=".$lp [0]." ; } }\n" ;
    }
  }
 
 $aff .= "</SELECT></TD>" ;
 $aff .= "</TR>" ;
 Echo $s0.$s1." }\n".$s2."\n else { cache_tout() ; } ; setTimeout ('visualisation_option()',100) } </SCRIPT>\n" ;
 Echo $aff ;
 Echo "<TR>" ;
 Echo "<TD COLSPAN=\"4\">" ;
 Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"formulaire\" VALUE=\"0\"><BR>" ;
 Echo $f."<FIELDSET ID=\"pas_demande\" STYLE=\"".$style_formulaire."\"><LEGEND>Aucune option</LEGEND><CENTER>Aucun champs suppl&eacute;mentaire.</CENTER></FIELDSET>" ; ;
 Echo "</TD>" ;
 Echo "</TR>" ;
 Echo "<TR><TD COLSPAN=\"4\">&nbsp;</TD></TR>" ;
 Echo "<TD ALIGN=\"CENTER\"><INPUT TYPE=\"IMAGE\" SRC=\"../images/absences/valider.png\" NAME=\"requete\" VALUE=\"VaLiDeR\" TITLE=\"Valider ce publipostage et fermer la fen&ecirc;tre (changement, &eacute;ventuel, pris en compte)\"></TD>" ;
 Echo "</FORM>" ;
 Echo "<TD ALIGN=\"CENTER\"><A HREF=\"javascript:window.close()\"><IMG SRC=\"../images/absences/annuler.png\" TITLE=\"Annuler l'op&eacute;ration de mise en quarantaine...\" BORDER=\"0\"></A></TD>" ;
 If ($creation == 0)
  {
   Echo "<FORM ACTION=\"".$_SERVER ["PHP_SELF"]."\" NAME=\"abs_courrier2\" METHOD=\"POST\" onSubmit=\"return valide()\">\n" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"id_abs_publipostage\" VALUE=\"".$lettre [0]."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"date1\" VALUE=\"".$date1."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"date2\" VALUE=\"".$date2."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"semaine\" VALUE=\"".$semaine."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"menu\" VALUE=\"".$menu."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"retour\" VALUE=\"".$retour."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"id_eleve\" VALUE=\"".$id_eleve."\">" ;
   Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"id_classe\" VALUE=\"".$id_classe."\">" ;
   Echo "<TD ALIGN=\"CENTER\"><INPUT TYPE=\"IMAGE\" SRC=\"../images/absences/supprimer.png\" NAME=\"requete\" VALUE=\"SuPPrIMeR\" TITLE=\"Supprimer ce publipostage et fermer la fen&ecirc;tre\"></TD>" ;
   Echo "</FORM>" ;
   Echo "<TD>&nbsp;<A HREF=\"./abs_publipostage.php?id_eleve=".$id_eleve."&repere1=".$ligne ["repere1"]."&repere2=".$ligne ["repere2"]."\"><IMG SRC=\"../images/absences/regul_eleve.png\" BORDER=\"0\" TITLE=\"Faire le publipostage de cet &eacute;l&egrave;ve maintenant\"></A></TD>" ;
  }
 Else { Echo "<TD COLSPAN=\"2\">&nbsp;</TD>" ; }
 Echo "</TR>" ;
 Echo "</TABLE>" ;
 //Echo recapitulatif_absences_annee_eleve ($id_eleve,"","",0,1,4,2,1,"#FFFFFF",$l ["lien"],$l ["couleur_fond"],$l ["nom"],"#000000") ;
 Echo "<SCRIPT> cache_tout() ; setTimeout ('visualisation_option()',100) </SCRIPT>" ;
 Echo "</BODY>" ;
 Echo "</HTML>" ;
?>